The present invention relates to an image-information encoding processing apparatus and an image-information decoding processing apparatus for processing the encoding or decoding of digital still-image information, and an image-information encoding/decoding processing apparatus for performing the processing of encoding and decoding.
It is now a common procedure that a large volume of digital image information is transmitted and stored after being encoded. As techniques for encoding image information in this case, various methods have been developed and are selectively used. Depending on the encoding techniques, there are cases where the image information is not compressed to a remarkable degree even if encoding is performed, or cases where although highly efficient compression is possible, the image quality deteriorates when the encoded image information is decoded. For this reason, a targeted compression ratio is set, and an encoding technique to be used is selected.
The targeted compression ratio and the encoding technique are generally determined by taking into consideration the image quality of a reproduced image, processing time, a transfer rate, a storage capacity and the like and in accordance with their priorities. As for the targeted compression ratio, if, for example, the image quality of the reproduced image is given priority, encoding is effected by setting the compression at a low level so as to reduce the deterioration of the reproduced image. On the other hand, if it is required to transmit the image information within a limited time on a limited transmission route, or to store it in a storage device of a limited capacity within a limited time, it is absolutely essential to encode any image at a high compression ratio.
The encoding techniques include fixed-length coding in which the code amount is unfailingly fixed and variable-length coding in which the code amount varies depending on the image. If the fixed-length coding is used, the storage capacity can be easily determined, so that it is convenient when structuring a system. In the fixed-length coding, however, the encoding efficiency is often inferior as compared with the variable-length coding in which encoding is carried out by reflecting image characteristics. By taking advantages and disadvantages of such encoding techniques into account, it is necessary to select an encoding technique to be used. In the case of digital color images, for instance, since the amount of information is very large, the variable-length coding is used in many cases.
The variable-length coding system is adopted also in, for example, a Joint Photographic Coding Experts Group (JPEG) system which is an international standard of a still-image encoding system. At present, encoding/decoding apparatuses of the JPEG system are easily available, so that information on encoding in a format based on the JPEG system is widely utilized through networks.
FIG. 5 is a block diagram illustrating a configuration of an encoding apparatus of the JPEG system. In the drawing, reference numeral 51 denotes an input image; 52, a blocking section; 53, blocked-image information; 54, a discrete cosine transform (DCT) section; 55, transform coefficients; 56, a quantizing section; 57, a quantized transform coefficient; 58, an entropy coding section; and 59, encoded information. The input image 51 is segmented into pieces of blocked-image information 53 each consisting of N.times.N pixels by the blocking section 52, and is inputted to the DCT section 54. In the DCT section 54, the blocked-image information 53 is subjected to DCT, and the transform coefficients 55 are inputted to the quantizing section 56. The transform coefficients 55 are quantized by the quantizing section 56. The quantized transform coefficients 57 are coded by the entropy coding section 58, and the encoded information 59 is outputted.
As problems of the variable-length coding, it can be pointed out that, since the characteristics of the input image are reflected on the encoding efficiency, the code amount does not become fixed, and that a high compression ratio is not achieved depending on the input image or a coding parameter. Therefore, in cases where a high compression ratio is always required when, for instance, priorities are placed on such elements as the processing time, the transfer rate, and the storage capacity, a control method called code-amount control for controlling the compression ratio is used in the variable-length coding.
The code-amount controlling techniques include, for instance, "Bit-rate Control Method for DCT Image Coding," 1989 Autumn National Convention Record, The Institute of Electronics, Information and Communication Engineers, D-45, pp. 6-45. The method described in this document is a bit-rate control method with respect to an encoder using an algorithm similar to that employed in the JPEG system.
FIG. 6 is a block diagram illustrating an example of an encoder using a conventional code-amount controlling technique. In the drawing, those portions that are similar to those of FIG. 5 are denoted by the same reference numerals, and a description thereof will be omitted. Reference numeral 60 denotes a memory section; 61, a code amount; 62, a quantizing-step measuring/estimating section; 63, a quantizing step value; and 64, a variable-length coding (VLC) section. The input image 51 is segmented into pieces of blocked-image information 53 each consisting of N.times.N pixels by the blocking section 52, and is subjected to transformation by the DCT section 54, and the transform coefficients 55 are stored in the memory section 60. In the quantizing section 56, the transform coefficients 55 are read from the memory section 60, and are quantized, and the quantized transform coefficients 57 are coded by the VLC section 64. The code amount 61 at this time is inputted to the quantizing-step measuring/estimating section 62. This coding operation is carried out by using a plurality of different quantizing step values. Here, the quantizing step is one of coding parameters in this coding system, and is used when the quantizing section 56 effects quantization.
In the quantizing-step measuring/estimating section 62, a quantizing step value for achieving a targeted code amount is estimated on the basis of the code amounts 61 obtained by the plurality of coding operations. Then, the estimated quantizing step value 63 is set in the quantizing section 56, and encoding is carried out again. In addition, if the above-described operation is further repeated, high accurate estimation becomes possible.
FIG. 7 is a block diagram illustrating another example of an encoder using a conventional code-amount controlling technique. The reference numerals in the drawing are similar to those of FIG. 6. If a storage device for storing image information is used outside the encoder, it is possible to adopt a configuration in which the memory section 60 in FIG. 6 is not provided, as shown in FIG. 7. In the configuration shown in FIG. 7, encoding is carried out a plurality of times by reading the image information from the storage device a necessary number of times and by inputting the same to the encoder, and a quantizing step is estimated in the quantizing-step measuring/estimating section 62. Then, coding is carried out by setting the estimated quantizing step value 63 in the quantizing section 56, thereby effecting an encoding such that the code amount becomes a targeted code amount or less.
FIG. 8 is a diagram illustrating an example of a system configuration including an apparatus for inputting and outputting an image. In the drawing, reference numeral 71 denotes an input device; 72; an output device; 73, a high-speed storage device; and 74, a data bus. In a case where the input device 71 such as a scanner and the output device 72 such as a printer are continuously operated at high speed, the input device 71, the output device 72, and the high-speed storage device 73 such as memory are connected to the data bus 74, and information which is continuously inputted from the input device 71 is stored in the high-speed storage device 73, while information stored in the high-speed storage device 73 is read out, and is continuously outputted to the output device 72. However, the high-speed storage device 73 such as the memory is generally expensive as compared with a storage device such as a hard disk (a large-capacity storage device), so tat the provision of the high-speed storage device 73 for a number of pages presents a problem in terms of cost. Meanwhile, the large-capacity storage device such as a hard disk is slow in the processing speed in reading and writing. For this reason, in the configuration shown in FIG. 8, the large-capacity storage device cannot be applied as it is in place of the high-speed storage device 73.
FIG. 9 is a diagram illustrating another example of the system configuration including a device for inputting and outputting an image. In the drawing, those portions that are similar to those of FIG. 8 will be denoted by the same reference numerals, and a description thereof will be omitted. Reference numeral 75 denotes an encoding/decoding processing apparatus, and 76 denotes a large-capacity storage device. To solve the problem of the configuration shown in FIG. 8, a method is conceivable in which the encoding/decoding processing apparatus 75 is introduced as shown in FIG. 9, and encoded information is stored in the large-capacity storage device 76.
In the system shown in FIG. 9, when information is inputted, the information inputted from the input device 71 is stored in the high-speed storage device 73, and coding is effected in the encoding/decoding processing apparatus 75, is stored in the high-speed storage device 73, and is outputted by the output device 72. Thus, in the system shown in FIG. 9, the amount of information stored in the large-capacity storage device 73 is reduced by the encoding/decoding processing apparatus 75, and the processing time required for reading and writing is shortened.
It is difficult for the input and output devices to be interrupted at an accurate point during continuous high-speed operation. For this reason, if an attempt is made to interrupt the operation midway, there is a possibility of the data being inputted or outputted becoming lost. In addition, the interruption of the operation can possibly lead to an appreciable decline in efficiency because of the mechanical restrictions of the input and output devices. For such reasons, in order to actually allow the input device 71 and the output device 72 to be continuously operated at high speed in the configuration shown in FIG. 9, it is necessary that a minimum compression ratio be ensured irrespective of the input image. This makes it possible to minimize the time of transfer between the large-capacity storage device 76 and the encoding/decoding processing apparatus 75, and secure the transfer time of the input and output devices. Additionally, it is also necessary to ensure the data transfer time necessary for transferring on the common data bus 74 sufficient data for allowing the input and output devices, such as the input device 71 and the output device 72, to be operated continuously.
In order to ensure a minimum compression ratio irrespective of the input image, the scheme can be realized by adopting the variable-length coding system using the code-amount controlling technique shown in FIG. 6 or 7. To ensure a sufficient data transfer time for the input device 71 and the output device 72, one method is conceivable in which a transfer management device is provided to restrict the time the bus is used by the respective devices on the bus. This method, however, is not advantageous since it requires a means for updating a management method each time the system configuration of the devices is changed.